package com.rpframework.module.common.bottom.service;


import com.rpframework.module.common.bottom.entity.RegionCounty;
import com.rpframework.module.common.bottom.entity.po.Geography;
import com.rpframework.module.common.bottom.mapper.RegionCountyMapper;

public interface RegionCountyService extends RegionCountyMapper {
    /**
     * 获取收获地址字符串形式
     * **省**市**区114号
     *
     * @param code    代码
     * @param address 详细地址
     * @return 地址
     */
    String getAddress(Integer code, String... address);

    /**
     * 根据区code主键查找省市
     * 验证CODE不存在抛出异常
     *
     * @param countyCode 区code
     * @return 省市区
     */
    RegionCounty selectByCountyCodeValidate(Integer countyCode);

    /**
     * 获取坐标(经纬度)
     *
     * @param address 详细地址 EG:浙江省杭州市西湖区文三路电子信息街区文二路浙江图书大厦1层
     * @return 坐标
     */
    Geography getGridByDetailedAddress(String address);

    /**
     * 获取坐标(经纬度)
     *
     * @param address 区内地址 EG:文三路电子信息街区文二路浙江图书大厦1层
     * @param ec      精确到区
     * @return 坐标
     */
    Geography getGridByDetailedAddress(RegionCounty ec, String address);

    /**
     * 获取坐标(经纬度)
     *
     * @param address    区内地址 EG:文三路电子信息街区文二路浙江图书大厦1层
     * @param countyCode 区code
     * @return 坐标
     */
    Geography getGridByDetailedAddress(Integer countyCode, String address);
}
